스크래치 주니어
1. 개요
1. 개요
스크래치 주니어는 5세부터 7세까지의 어린이를 대상으로 설계된 교육용 블록형 프로그래밍 언어이다. 이 서비스는 MIT 미디어 랩, 보스턴 대학교의 DevTech Research Group, 그리고 스크래치 개발팀이 공동으로 개발하였다. 기존의 스크래치가 8세 이상의 아동과 청소년을 대상으로 한다면, 스크래치 주니어는 더 어린 연령대의 인지 및 정서 발달 수준에 맞춰 인터페이스와 프로그래밍 개념을 단순화한 것이 특징이다.
사용자는 블록 프로그래밍 방식을 통해 그림으로 된 명령 블록을 조립하여 캐릭터를 움직이거나, 이야기를 만들고, 간단한 게임을 제작할 수 있다. 이 과정을 통해 어린이들은 논리적 사고와 문제 해결 능력의 기초를 자연스럽게 배울 수 있다. 이 서비스는 iOS와 Android 기반의 태블릿 컴퓨터 및 Chromebook에서 무료 앱 형태로 제공되며, 별도의 PC 버전은 존재하지 않는다.
주요 사용자 인터페이스는 텍스트 사용을 최소화하고 직관적인 아이콘과 시각적 요소로 구성되어 있다. 중심에는 이야기가 펼쳐지는 무대 영역이 있으며, 사용자는 다양한 스프라이트를 추가하고 여러 장면을 구성할 수 있다. 프로그래밍은 화면 하단의 블록 조립 영역에서 이루어지며, 동작, 형태, 소리 등 6개의 기본 카테고리 블록을 제공한다.
이 서비스는 전 세계 어린이들의 접근성을 높이기 위해 한국어를 포함하여 20여 개의 언어를 지원한다. 사용자가 만든 프로젝트는 이메일 등을 통해 손쉽게 저장하고 공유할 수 있어 교육 현장이나 가정에서 활용도가 높다.
2. 역사
2. 역사
스크래치 주니어는 MIT 미디어 랩의 스크래치 개발팀과 보스턴 대학교의 DevTech Research Group 간의 공동 연구 프로젝트로 시작되었다. 이 프로젝트의 핵심 목표는 기존의 스크래치를 더 어린 연령대에 맞게 재설계하는 것이었다. 스크래치가 8세 이상의 어린이와 청소년을 대상으로 한 반면, 스크래치 주니어는 5세부터 7세까지의 유아 및 초등학교 저학년 아동의 인지적, 사회적, 정서적 발달 수준에 맞춰 인터페이스와 프로그래밍 언어의 복잡성을 대폭 낮췄다.
이를 위해 텍스트 기반의 명령어 블록을 그림 아이콘으로 대체하고, 사용자 인터페이스 전반에 걸쳐 텍스트 사용을 최소화하였다. 개발은 스크래치의 기본 철학인 "코딩을 통한 창의적 표현"을 유지하면서, 터치스크린 기반의 모바일 앱에 최적화된 형태로 진행되었다. 그 결과, iOS와 Android 플랫폼에서 무료로 제공되는 독립형 앱이 탄생하게 되었다.
이 교육용 소프트웨어는 공식적으로 출시된 이후 전 세계의 많은 유치원과 초등학교 저학년 교실에서 컴퓨팅 사고력과 문제 해결 능력을 기르는 도구로 채택되어 사용되고 있다. 또한, 크롬북과 같은 교육용 기기에서도 공식적으로 지원되며, 지속적인 업데이트를 통해 기능이 보완되고 있다.
3. 사용자 인터페이스
3. 사용자 인터페이스
3.1. 스프라이트 선택 영역
3.1. 스프라이트 선택 영역
스프라이트 선택 영역은 스크래치 주니어 프로젝트에서 사용할 캐릭터나 객체를 선택하고 관리하는 공간이다. 이 영역은 인터페이스의 왼쪽 상단에 위치하며, 모든 프로그래밍 명령의 대상이 되는 스프라이트를 추가하거나 변경할 수 있다. 기본적으로 스크래치의 상징인 고양이 캐릭터가 설정되어 있어, 사용자는 이를 시작점으로 자신의 이야기나 게임을 만들 수 있다.
사용자는 영역 하단에 있는 '+' 버튼을 눌러 다양한 스프라이트를 추가할 수 있다. 선택 가능한 스프라이트는 동물, 곤충, 사람, 과일, 건물 등 어린이들에게 친숙한 이미지들로 구성되어 있다. 각 스프라이트는 독립적인 프로그래밍 명령어 세트를 가질 수 있으며, 사용자는 이 영역에서 특정 스프라이트를 탭하여 선택한 후, 하단의 블록 조립 영역에서 해당 스프라이트만을 위한 동작을 프로그래밍할 수 있다.
3.2. 무대 영역
3.2. 무대 영역
무대 영역은 스크래치 주니어 인터페이스의 중앙에 위치한 핵심 화면으로, 사용자가 프로그래밍한 대화형 이야기나 게임이 실제로 실행되어 보이는 곳이다. 이 영역은 사용자가 스프라이트와 배경을 배치하고, 그 결과를 즉시 확인할 수 있는 시각적 프로그래밍 언어의 실행 공간 역할을 한다.
무대 상단에는 배경을 설정하거나 텍스트를 추가할 수 있는 도구가 위치해 있다. 사용자는 다양한 배경 그림 중에서 선택하여 스프라이트가 활동할 장면을 꾸밀 수 있으며, 이를 통해 이야기의 흐름을 구성하는 데 도움을 받는다. 무대에서의 모든 변화는 하단의 블록 조립 영역에서 연결한 명령어 블록의 실행 결과에 따라 실시간으로 반영된다.
이 영역은 어린이 사용자에게 직관적인 피드백을 제공하는 데 중점을 두고 설계되었다. 스프라이트가 움직이거나 모양이 변하거나 소리가 나는 등, 프로그래밍한 모든 동작이 무대 위에서 시각적으로 표현되므로, 인과관계를 쉽게 이해하고 학습할 수 있다. 이는 5세부터 7세까지의 어린이들의 인지 발달 수준에 맞춘 중요한 디자인 요소이다.
3.3. 장면 추가 영역
3.3. 장면 추가 영역
장면 추가 영역은 스크래치 주니어 프로젝트에서 이야기의 흐름을 구성하는 핵심 공간이다. 이 영역은 인터페이스의 무대 오른쪽에 위치하며, 사용자는 하단의 + 버튼을 눌러 새로운 장면을 쉽게 추가할 수 있다. 각 장면은 독립적인 배경과 스프라이트 집합을 가질 수 있어, 사용자가 여러 페이지로 이루어진 대화형 이야기나 단계별 게임을 만들 수 있게 해준다.
새로운 장면이 추가되면 사용자는 해당 장면의 배경을 바꾸거나 필요한 스프라이트를 추가하여 완전히 새로운 화면을 구성할 수 있다. 이 기능은 어린이들이 디지털 스토리텔링의 기본 개념인 장면 전환과 이야기 구조를 직관적으로 이해하고 학습하도록 돕는다. 하나의 프로젝트 안에서 여러 장면을 자유롭게 오가며 편집할 수 있어, 창의적인 표현의 범위를 크게 확장시킨다.
3.4. 블록 조립 영역
3.4. 블록 조립 영역
블록 조립 영역은 사용자가 프로그래밍을 실제로 구성하는 핵심 공간이다. 이 영역은 화면 하단에 위치하며, 여섯 가지 색상으로 구분된 블록 카테고리의 명령 블록들과, 이 블록들을 끌어다 놓아 연결할 수 있는 프로그래밍 스크립트 영역으로 이루어져 있다. 사용자는 원하는 동작을 만들기 위해 다양한 블록을 선택하여 스크립트 영역에서 순서대로 조립한다. 블록들은 퍼즐 조각처럼 서로 맞물리도록 설계되어, 문법적 오류 없이 논리적인 흐름을 쉽게 만들 수 있다.
이 영역의 설계는 스크래치의 복잡성을 대폭 줄여, 유아 및 초등학교 저학년생의 인지 수준에 맞추었다. 텍스트 대신 직관적인 그림 아이콘이 블록에 그려져 있어 글을 읽지 못하는 아이들도 명령의 의미를 이해할 수 있다. 예를 들어, '동작' 카테고리의 파란색 블록에는 방향 화살표나 점프 모양의 그림이, '소리' 카테고리의 보라색 블록에는 음표나 스피커 모양의 아이콘이 사용된다.
블록을 조립하는 방식은 매우 단순하다. 사용자는 먼저 스프라이트 선택 영역에서 조종할 캐릭터를 선택한 후, 하단의 블록 팔레트에서 원하는 명령 블록을 터치하여 가운데의 조립 영역으로 끌어온다. 블록들은 위아래로만 연결될 수 있으며, 프로그램의 실행은 가장 위에 있는 '시작 블록'(주로 녹색 깃발 모양)에서 아래쪽으로 순차적으로 이루어진다. 이 과정을 통해 어린이들은 알고리즘과 순차 실행이라는 기본적인 컴퓨터 과학 개념을 자연스럽게 체득하게 된다.
4. 블록 카테고리
4. 블록 카테고리
스크래치 주니어는 어린 학습자들의 인지 수준에 맞춰 프로그래밍 개념을 단순화했으며, 이를 위해 총 6개의 직관적인 블록 카테고리를 제공한다. 각 카테고리는 색상과 그림 아이콘으로 구분되어 글자를 읽지 못하는 아이들도 쉽게 인지하고 사용할 수 있도록 설계되었다. 이는 텍스트 기반 블록을 사용하는 스크래치와의 주요 차별점이다.
블록 카테고리는 다음과 같다.
카테고리 | 설명 |
|---|---|
이벤트 | 명령어의 실행을 시작하거나 다른 스프라이트에게 메시지를 보낸다. |
동작 | 스프라이트를 이동시키거나 방향을 회전시키는 명령을 담당한다. |
형태 | 스프라이트의 외형과 관련된 것으로, 말풍선을 띄우기, 보이기/숨기기, 크기 변경하기 등의 블록이 포함된다. |
소리 | 기본 제공되는 효과음을 재생하거나 사용자가 직접 녹음한 소리를 사용할 수 있다. |
제어 | 지정된 횟수만큼 일련의 명령을 반복 실행하는 기능을 제공한다. |
마무리 | 명령어의 실행을 종료하거나 특정 동작을 무한히 반복하게 한다. |
이러한 카테고리 구성은 순차 실행, 반복문, 이벤트 기반 프로그래밍 같은 기본적인 컴퓨팅 사고력 개념을 놀이처럼 배울 수 있게 한다. 블록의 종류와 수가 의도적으로 제한되어 있어, 어린 아이들이 압도감 없이 핵심 논리 구조에 집중할 수 있다.
모든 블록은 하단의 블록 조립 영역에서 끌어다 연결하여 프로그램을 만들며, 연결된 블록들의 흐름은 왼쪽에서 오른쪽으로 진행된다. 이 단순화된 구조는 시각적 프로그래밍 언어의 장점을 극대화하여, 유아 및 초등학교 저학년 아동에게 최적화된 교육용 프로그래밍 언어로서의 역할을 충실히 수행한다.
5. 프로젝트 저장 및 공유
5. 프로젝트 저장 및 공유
스크래치 주니어에서 완성한 프로젝트는 사용자의 기기 내부에 자동으로 저장된다. 사용자는 앱의 홈 화면에서 자신이 만든 모든 프로젝트를 확인하고, 언제든지 다시 열어서 수정하거나 실행해 볼 수 있다.
프로젝트를 다른 사람과 공유하기 위해서는 스크래치 주니어 버전 1.2 이상이 필요하다. 공유 기능을 사용하려면 프로젝트 편집 화면의 오른쪽 상단에 있는 노란색 버튼을 탭하여 프로젝트 정보 페이지로 이동한다. 해당 페이지에서는 이메일을 통해 프로젝트 파일을 첨부하여 보낼 수 있는 옵션이 제공된다. iOS 기기, 특히 아이패드를 사용하는 경우에는 에어드랍 기능을 이용하여 근처의 다른 애플 기기로 프로젝트를 빠르게 전송할 수도 있다.
이러한 저장 및 공유 방식은 어린 사용자들이 자신의 작품을 가족이나 친구에게 쉽게 보여주고, 협력하여 만들 수 있도록 돕는다. 다만, 스크래치의 공식 온라인 커뮤니티와 같은 웹 기반의 대규모 공유 플랫폼은 제공되지 않는다. 이는 저연령대 대상의 보안과 안전을 고려한 설계로 볼 수 있다.
6. 지원 언어
6. 지원 언어
스크래치 주니어는 전 세계의 어린 학습자들을 위해 다국어를 지원한다. 앱 내 인터페이스와 블록의 명칭은 사용자의 기기 설정 언어에 따라 자동으로 변경될 수 있다. 이는 어린 아이들이 모국어로 프로그래밍 개념에 친숙해질 수 있도록 돕는 중요한 특징이다.
지원 언어는 한국어, 영어, 일본어, 중국어(간체 및 번체), 프랑스어, 독일어, 스페인어, 포르투갈어, 러시아어, 아랍어, 태국어, 터키어, 이탈리아어, 폴란드어, 네덜란드어, 스웨덴어, 노르웨이어, 덴마크어, 핀란드어, 히브리어, 힌디어, 그리스어 등 약 22개 언어에 이른다. 이러한 광범위한 언어 지원은 스크래치 주니어가 글로벌 교육 도구로서의 접근성을 높이는 데 기여한다.
공식 웹사이트에서는 자원봉사 번역가를 모집하여 지원 언어를 더욱 확장하려는 노력을 보여준다. 이는 오픈 소스 및 교육 커뮤니티의 협력 정신을 반영하는 부분이다. 사용자는 공식 채널을 통해 새로운 언어 번역에 참여할 수 있다.
다국어 지원은 스크래치 주니어가 스크래치의 정신을 이어받아 모든 어린이에게 창의적 컴퓨팅의 기회를 제공하려는 핵심 목표의 일환이다. 이를 통해 다양한 문화적 배경을 가진 유아 및 초등학교 저학년 학생들도 장벽 없이 블록형 프로그래밍을 경험할 수 있다.
7. 유사한 서비스
7. 유사한 서비스
스크래치 주니어와 유사하게 유아 및 초등학교 저학년생을 대상으로 한 시각적 프로그래밍 교육 도구가 다수 존재한다. 대표적인 예로는 일본에서 개발된 비스킷(Viscuit)이 있다. 비스킷은 그림을 직접 그려서 스프라이트를 만들고, '메가네'라는 시각적 명령어를 조합하여 프로그램을 구성하는 방식으로, 텍스트나 복잡한 블록 없이 직관적인 조작이 가능하다는 특징을 가진다.
이 외에도 코드닷오알지(code.org)의 'Hour of Code' 활동 중 유아용 과정이나, 블록리(Blockly) 기반의 다양한 교육용 앱들이 유사한 서비스 범주에 속한다. 이러한 플랫폼들은 모두 알고리즘적 사고와 컴퓨팅 사고력의 기초를 쌓기 위해 설계되었으며, 대부분 무료 소프트웨어 또는 프리미엄 모델로 제공된다.
이들 서비스는 스크래치 주니어와 마찬가지로 스마트폰이나 태블릿 컴퓨터 같은 모바일 기기에서 쉽게 접근할 수 있도록 앱 형태로 제공되는 경우가 많다. 각 서비스는 사용자 인터페이스의 디자인, 지원하는 블록의 종류, 이야기 만들기나 게임 만들기에 중점을 두는지 등의 세부적인 측면에서 차별점을 보인다.
